"""
Python3 中有六个标准的数据类型：

Number（数字类型） ---  int、float、bool、complex（复数）
String（字符串类型）
List（列表）
Tuple（元组）
Set（集合）
Dictionary（字典）

Python3 的六个标准数据类型中：
不可变数据（3 个）：Number（数字）、String（字符串）、Tuple（元组）；
可变数据（3 个）：List（列表）、Dictionary（字典）、Set（集合）。

"""
# type()函数可以查看当前变量的类型


# ------------------  Number 类型 ---------------------------------------
num = 0  # 整形
print(type(num))  # 输出 <class 'int'>

price = 1.5  # 浮点形
print(type(price))  # 输出 <class 'float'>

isFirst = True  # 布尔型
print(type(isFirst))  # 输出 <class 'bool'>  ；python 布尔类型 0为False ,非0为True

# 复数是由一个实数和一个虚数组合构成，表示为：x+yj
complexNum = 12 + 3j  # 定义一个复数类型
print(type(complexNum))  # 输出 <class 'complex'>
print(complexNum.real)  # 输出复数的实数 12.0
print(complexNum.imag)  # 输出复数的虚数 3.0

# ------------------  其他数据类型 ---------------------------------------

print(type("王五"))  # 输出 <class 'str'>   字符串类型

# 列表(list): 列表中元素的类型可以不相同,用 [] 创建列表
list1 = ['abcd', 786, 2.23, 'runoob', 70.2]
print(list1)

# 元组（tuple）与列表类似，不同之处在于元组的元素不能修改 ，用 () 创建元组
tuple1 = ('abcd', 786, 2.23, 'runoob', 70.2)
print(tuple1)

# 集合（set），自动去除重复元素！大括号 { } 或者 set() 函数创建集合
set1 = {'Tom', 'Tom', 'Jack'}  # 注意：创建一个空集合必须用 set() 而不是 { }，因为 { } 是用来创建一个空字典。
print(set1)  # 输出  {'Tom', 'Jack'}

# 字典（dict）: 是一个无序的 键(key) : 值(value) 的集合。 同样用 { } 创建字典
dict1 = {'name': 'zhangsan', 'age': 1}
print(type(dict1))  # <class 'dict'>
